﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sheeps
{
    /// <summary>
    /// Basic sheep
    /// </summary>
    public class Sheep : ObjectWithPosition, ICloneable
    {

        /// <summary>
        /// Max distance that sheep can travel in turn
        /// </summary>
        public double MaxMoveLength
        {
            get;
            set;
        }
        /// <summary>
        /// Minimum distance at which the dog does not scare the sheep
        /// </summary>
        public double Sensibility
        {
            get;
            set;
        }

        public Vector3 VirtualPosition
        {
            get;
            set;
        }

        public Vector3 VirtualMovementVector
        {
            get;
            set;
        }

        public bool IsScared
        {
            get;
            set;
        }

        /// <summary>
        /// Creates new instance of sheep
        /// </summary>
        public Sheep()
            : base()
        {
            this.MaxMoveLength = DefaultSettings.SHEEP_MAX_MOVE_LENGTH;
            this.Sensibility = DefaultSettings.SHEEP_SENSIBILITY;
        }


        #region ICloneable Members

        public object Clone()
        {
            return this.MemberwiseClone();
        }

        #endregion
    }
}
